function [Modulated_Data] = HF_Modulate(Symbols,Rate)

%*---------------------------------------- HF_Modulate ---------------------------------------------%
%[Modulated_Data] = HF_Modulate(Symbols,Rate)
%
%   The function that modulates the symbols (Symbols) into equivalent 
%   I and Q (I = real(Modulated_Data) and Q = imag (Modulated_Data)) 
%   for different rates (Rate)
%
%*----------------------------------------------------------------------------------------------------%

global  LUT_PSK_Q_8 LUT_QAM_16 LUT_QAM_32 LUT_QAM_64 


if (Rate == 3200)
    %QPSK
    LUT_Current = LUT_PSK_Q_8;
    
elseif (Rate == 4800)
    %8PSK
    LUT_Current = LUT_PSK_Q_8;
    
elseif (Rate == 6400)
    %16QAM
    LUT_Current = LUT_QAM_16;
    
elseif (Rate == 8000)
    %32QAM
    LUT_Current = LUT_QAM_32;
    
elseif (Rate == 9600)
    %64QAM
    LUT_Current = LUT_QAM_64;

elseif (Rate == 12800)
    %64QAM
    LUT_Current = LUT_QAM_64;
    
else disp('Error ==> Rate not supported')
end

%*------------------------------------------------------------------------%

 Modulated_Data = LUT_Current(Symbols+1);

%*------------------------------------------------------------------------%
